import { request } from "../../request/index";
import { rejeneratorRuntime } from "../../utils/asyncWx";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabsData:[
      {
          name:'综 合',
          isActive:true
      },
      {
          name:'销 量',
          isActive:false
      },
      {
          name:'价 格',
          isActive:false
      }
  ],
  goodsListData:[]
  },
  // 请求参数
  QueryParams:{
    query:'',
    cid:'',
    pagenum:1,
    pagesize:8,  
  },
  // 总条数
  totalPages:1,
  tabsItemChange(e){
    const {tabsData} = this.data;//解构出data中定义的tabsData数组
        const {index} = e.detail; //解构出事件触发者传递的index
        //筛选整个tabsData把不是点击的那个isActive全部设置为false点击的为true
        tabsData.filter((v,i) => i === index ? v.isActive = true : v.isActive = false)
        //一切操作执行完毕后再重新赋值给tabsData
        this.setData({
            tabsData
        })
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.QueryParams.cid = options.cid || '' //获取跳转时携带的商品cid
    this.QueryParams.query = options.query || ''
    this.getGoodsList() // 页面加载则发起请求
  },
  // 获取分类列表数据
  async getGoodsList(){
    const res = await request({
      url:'goods/search',
      data:this.QueryParams
    }) 
    // 获取总条数
    const total = res.total
    // 计算总页数
    this.totalPages = Math.ceil(total / this.QueryParams.pagesize)
    // 把请求到的列表数据保存起来(加出来出来完整的数据)
    this.setData({
      goodsListData:[...this.data.goodsListData,...res.goods]
    })
    // 下拉刷新请求到数据后关闭刷新
    wx.stopPullDownRefresh();
  },
  // 页面触底事件
  onReachBottom(){
    // 判断是否已经是最后一页(是最后一页则给出提示则不再发送请求)
    if(this.QueryParams.pagenum >=  this.totalPages) wx.showToast({
      title: '亲，我是有底线的亲',
    })
    else {
      this.QueryParams.pagenum++; // 对请求参数进行修改表示当前页数
      this.getGoodsList(); // 再次发请求请求下一页数据
    }
  },
  // 页面刷新事件
  onPullDownRefresh(){
    // 清空刷新掉的老数据
    this.setData({
      goodsListData:[]
    })
    // 总页数也重记
    this.QueryParams.pagenum = 1;
    // 发起新的请求
    this.getGoodsList();
  }
})